[INFO] cloning repository https://github.com/liufoyang/rust_demo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liufoyang/rust_demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ce8af637f5f2515ebcc8ecfa7c980cb376a7630a
[INFO] building liufoyang/rust_demo against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/liufoyang/rust_demo on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/liufoyang/rust_demo
[INFO] finished tweaking git repo https://github.com/liufoyang/rust_demo
[INFO] tweaked toml for git repo https://github.com/liufoyang/rust_demo written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/liufoyang/rust_demo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /workspace/builds/worker-3/source/minigrep/Cargo.toml
[INFO] [stderr] workspace: /workspace/builds/worker-3/source/Cargo.toml
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 6c4d6db96322f29c33430d2ae0903b7424cbfc1bef17b4323b2db1b44c214a27
[INFO] running `Command { std: "docker" "start" "-a" "6c4d6db96322f29c33430d2ae0903b7424cbfc1bef17b4323b2db1b44c214a27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6c4d6db96322f29c33430d2ae0903b7424cbfc1bef17b4323b2db1b44c214a27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c4d6db96322f29c33430d2ae0903b7424cbfc1bef17b4323b2db1b44c214a27", kill_on_drop: false }`
[INFO] [stdout] 6c4d6db96322f29c33430d2ae0903b7424cbfc1bef17b4323b2db1b44c214a27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0e153718abfbc7658877aede17cf538b87e8ac97e13c93573610c03b29c6b2db
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "0e153718abfbc7658877aede17cf538b87e8ac97e13c93573610c03b29c6b2db", kill_on_drop: false }`
[INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
[INFO] [stderr] package:   /opt/rustwide/workdir/minigrep/Cargo.toml
[INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling yansi v0.5.0
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling smallvec v0.6.10
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling cc v1.0.46
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling percent-encoding v1.0.1
[INFO] [stderr]    Compiling version_check v0.9.1
[INFO] [stderr]    Compiling untrusted v0.6.2
[INFO] [stderr]    Compiling traitobject v0.1.0
[INFO] [stderr]    Compiling typeable v0.1.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling minigrep v0.1.0 (/opt/rustwide/workdir/minigrep)
[INFO] [stderr]    Compiling rustc-hex v2.0.1
[INFO] [stderr]    Compiling futures v0.1.29
[INFO] [stderr]    Compiling demobin v0.1.0 (/opt/rustwide/workdir/demobin)
[INFO] [stdout] warning: variant `SUCCESS_BOTH` should have an upper camel case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         SUCCESS_BOTH{code:String, msg:String, credit:FlyCoin, debit:FlyCoin},
[INFO] [stdout]    |         ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SuccessBoth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Fn`
[INFO] [stdout]  --> minigrep/src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Fn;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pbft_client v0.1.0 (/opt/rustwide/workdir/pbft_client)
[INFO] [stdout] warning: structure field `ownAccountId` should have a snake case name
[INFO] [stdout]  --> demobin/src/flycoin.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |         ownAccountId:String,
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `own_account_id`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `amountNum` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |        pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{
[INFO] [stdout]    |                      ^^^^^^^^^ help: convert the identifier to snake case: `amount_num`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `currencyCode` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:17:37
[INFO] [stdout]    |
[INFO] [stdout] 17 |        pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: convert the identifier to snake case: `currency_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ownAdId` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:17:58
[INFO] [stdout]    |
[INFO] [stdout] 17 |        pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{
[INFO] [stdout]    |                                                          ^^^^^^^ help: convert the identifier to snake case: `own_ad_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `moveTo` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 29 |        pub fn moveTo(self, toAddress:String) -> Result{
[INFO] [stdout]    |               ^^^^^^ help: convert the identifier to snake case: `move_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `toAddress` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:29:28
[INFO] [stdout]    |
[INFO] [stdout] 29 |        pub fn moveTo(self, toAddress:String) -> Result{
[INFO] [stdout]    |                            ^^^^^^^^^ help: convert the identifier to snake case: `to_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `anotherCoin` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:54:25
[INFO] [stdout]    |
[INFO] [stdout] 54 |        pub fn add(self, anotherCoin:FlyCoin) -> Result {
[INFO] [stdout]    |                         ^^^^^^^^^^^ help: convert the identifier to snake case: `another_coin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `subAmount` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:78:25
[INFO] [stdout]    |
[INFO] [stdout] 78 |        pub fn sub(self, subAmount:u64, toAddress: &String) -> Result {
[INFO] [stdout]    |                         ^^^^^^^^^ help: convert the identifier to snake case: `sub_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `toAddress` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:78:40
[INFO] [stdout]    |
[INFO] [stdout] 78 |        pub fn sub(self, subAmount:u64, toAddress: &String) -> Result {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: convert the identifier to snake case: `to_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `coinB` should have a snake case name
[INFO] [stdout]   --> demobin/src/flycoin.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let coinB = FlyCoin {
[INFO] [stdout]    |                 ^^^^^ help: convert the identifier to snake case: `coin_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `coinA` should have a snake case name
[INFO] [stdout]    --> demobin/src/flycoin.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let coinA = FlyCoin {
[INFO] [stdout]     |                 ^^^^^ help: convert the identifier to snake case: `coin_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling consescript v0.1.0 (/opt/rustwide/workdir/consescript)
[INFO] [stderr]    Compiling unicode-bidi v0.3.4
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling num_cpus v1.10.1
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Sender`
[INFO] [stdout]  --> pbft_client/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::mpsc::Sender;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver`
[INFO] [stdout]  --> pbft_client/src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::mpsc::Receiver;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result::Result`
[INFO] [stdout]  --> pbft_client/src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::result::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> pbft_client/src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         while true {
[INFO] [stdout]    |         ^^^^^^^^^^ help: use `loop`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> pbft_client/src/main.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     while true {
[INFO] [stdout]     |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> pbft_client/src/main.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 | /                 ///receiveMsg 1.0  false default_id 30
[INFO] [stdout] 128 | |                 ///{"id":"10001","client_id":"bft_client0001","payload":"put second_key=hello_1","timestamp":100000,"status":0,"md5sign":""}
[INFO] [stdout]     | |____________________________________________________________________________________________________________________________________________^
[INFO] [stdout] 129 |                   let mut msgStr = String::from("receiveMsg 1.0  false default_id 30 \n");
[INFO] [stdout]     |                   ------------------------------------------------------------------------ rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> pbft_client/src/main.rs:158:17
[INFO] [stdout]     |
[INFO] [stdout] 158 |                 while true {
[INFO] [stdout]     |                 ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |         painc!("functionReturn error, type not found at {}", returnToken.to_string())
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:343:25
[INFO] [stdout]     |
[INFO] [stdout] 343 |                         painc!("not value PrimaryType token {}{}", self.token_text, ch);
[INFO] [stdout]     |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:579:21
[INFO] [stdout]     |
[INFO] [stdout] 579 |                     painc!("not value PrimaryType token {", self.token_text);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | ...   painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody", fnToken.to_string());
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 | ...   painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but formalParameter...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 | ...   painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but functionBodyRes...
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:204:9
[INFO] [stdout]     |
[INFO] [stdout] 204 |         painc!("ParameterDefine error, type not found at {}", token.to_string());
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 |         painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string());
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stdout] error: cannot find macro `painc` in this scope
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 294 |         painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string());
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `format_str` in this scope
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:111:35
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let to_str = String::from(format_str);
[INFO] [stdout]     |                                   ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Lexer_State` should have an upper camel case name
[INFO] [stdout]  --> consescript/src/lib/conselexer.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | enum Lexer_State {
[INFO] [stdout]   |      ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerState`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bool` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bool,       //bool
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i32` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     i32,        //i32
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i64` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     i64,        //i64
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f32` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     f32,        //f32
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f64` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     f64,        //f64
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `string` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     string,     //string
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Token_Type` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Token_Type {
[INFO] [stdout]    |          ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `bool` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     bool,       //:bool
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i32` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     i32,        //:i32
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `i64` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     i64,        //:i64
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f32` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     f32,        //:f32
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `f64` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     f64,        //:f64
[INFO] [stdout]    |     ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `string` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/conselexer.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     string,     //:string
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Lexer_Parser` should have an upper camel case name
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:180:8
[INFO] [stdout]     |
[INFO] [stdout] 180 | struct Lexer_Parser {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerParser`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::conselexer::Token`
[INFO] [stdout]  --> consescript/src/lib/consesyntax.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::conselexer::Token;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AST_Node_Type` should have an upper camel case name
[INFO] [stdout]  --> consescript/src/lib/consesyntax.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum AST_Node_Type {
[INFO] [stdout]   |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AstNodeType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AST_Node` should have an upper camel case name
[INFO] [stdout]   --> consescript/src/lib/consesyntax.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct AST_Node {
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `AstNode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:194:7
[INFO] [stdout]     |
[INFO] [stdout] 194 |     if(identifierNodeResult.is_none()) {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:652:11
[INFO] [stdout]     |
[INFO] [stdout] 652 |     while (true) {
[INFO] [stdout]     |           ^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:652:5
[INFO] [stdout]     |
[INFO] [stdout] 652 |     while (true) {
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: use `loop`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(while_true)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: denote infinite loops with `loop { ... }`
[INFO] [stdout]   --> consescript/src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     while true {
[INFO] [stdout]    |     ^^^^^^^^^^ help: use `loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `thread_index`
[INFO] [stdout]   --> pbft_client/src/main.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut thread_index = 0;
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_index`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `connection_name`
[INFO] [stdout]   --> pbft_client/src/main.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |             let connection_name = stream.peer_addr().unwrap().to_string();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right`
[INFO] [stdout]   --> pbft_client/src/main.rs:80:36
[INFO] [stdout]    |
[INFO] [stdout] 80 |                         let (left, right) = buffer.split_at(lensize);
[INFO] [stdout]    |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_right`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value captured by `buffer` is never read
[INFO] [stdout]   --> pbft_client/src/main.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     buffer = [0; 2048];
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: did you mean to capture by reference instead?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `replay_listener`
[INFO] [stdout]   --> pbft_client/src/main.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let replay_listener =  thread::Builder::new().name("reply_listener".to_string()).spawn(move|| {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replay_listener`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> pbft_client/src/main.rs:121:16
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Ok(n) => {
[INFO] [stdout]     |                ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pbft_client/src/main.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |         let mut thread_index = 0;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:338:36
[INFO] [stdout]     |
[INFO] [stdout] 338 |                         self.state == Lexer_State::PrimaryType;
[INFO] [stdout]     |                         ---------- ^^ ------------------------ Lexer_State
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:349:36
[INFO] [stdout]     |
[INFO] [stdout] 349 |                         self.state == Lexer_State::Function2;
[INFO] [stdout]     |                         ---------- ^^ ---------------------- Lexer_State
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:353:36
[INFO] [stdout]     |
[INFO] [stdout] 353 |                         self.state == Lexer_State::Identifier;
[INFO] [stdout]     |                         ---------- ^^ ----------------------- Lexer_State
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pbft_client/src/main.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |             let mut stream = stream_accept.unwrap();
[INFO] [stdout]    |                 ----^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pbft_client/src/main.rs:81:29
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         let mut  reply_str = String::from_utf8_lossy(&left[..]).to_string();
[INFO] [stdout]    |                             -----^^^^^^^^^
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:356:36
[INFO] [stdout]     |
[INFO] [stdout] 356 |                         self.state == Lexer_State::Identifier;
[INFO] [stdout]     |                         ---------- ^^ ----------------------- Lexer_State
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:359:36
[INFO] [stdout]     |
[INFO] [stdout] 359 |                         self.state == Lexer_State::Identifier;
[INFO] [stdout]     |                         ---------- ^^ ----------------------- Lexer_State
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State`
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:402:24
[INFO] [stdout]     |
[INFO] [stdout] 402 |             self.state == Lexer_State::Function;
[INFO] [stdout]     |             ---------- ^^ --------------------- Lexer_State
[INFO] [stdout]     |             |
[INFO] [stdout]     |             Lexer_State
[INFO] [stdout]     |
[INFO] [stdout]     = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> consescript/src/lib/conselexer.rs:578:24
[INFO] [stdout]     |
[INFO] [stdout] 578 |                   } else {
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 579 | |                     painc!("not value PrimaryType token {", self.token_text);
[INFO] [stdout] 580 | |                 }
[INFO] [stdout]     | |_________________^ expected enum `Token_Type`, found `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> pbft_client/src/main.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut msg_num = 1;
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found enum variant `None`
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:221:16
[INFO] [stdout]     |
[INFO] [stdout] 221 |         return None();
[INFO] [stdout]     |                ^^^^--
[INFO] [stdout]     |                |
[INFO] [stdout]     |                call expression requires function
[INFO] [stdout]     |
[INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis
[INFO] [stdout]     |
[INFO] [stdout] 221 |         return None;
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0618]: expected function, found enum variant `None`
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:227:16
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return None();
[INFO] [stdout]     |                ^^^^--
[INFO] [stdout]     |                |
[INFO] [stdout]     |                call expression requires function
[INFO] [stdout]     |
[INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis
[INFO] [stdout]     |
[INFO] [stdout] 227 |         return None;
[INFO] [stdout]     |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:379:17
[INFO] [stdout]     |
[INFO] [stdout] 378 |                 panic!("stmt  error, condition stmt must if conditionExpression at token {}", ifToken.to_string());
[INFO] [stdout]     |                 --------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 379 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:389:17
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 panic!("stmt  error, condition stmt must if conditionExpression lack stmt");
[INFO] [stdout]     |                 ---------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 389 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 410 |                 panic!("stmt  error, condition stmt must  else lack stmt at token {}", elseToken.to_string());
[INFO] [stdout]     |                 ---------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 411 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 435 | ...   panic!("conditionExpression  error, conditionExpression  must  additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)");
[INFO] [stdout]     |       --------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 436 | ...   return None;
[INFO] [stdout]     |       ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:443:9
[INFO] [stdout]     |
[INFO] [stdout] 442 |         panic!("conditionExpression  error, conditionExpression  must  contain == or !=");
[INFO] [stdout]     |         ---------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 443 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:452:9
[INFO] [stdout]     |
[INFO] [stdout] 451 | ...   panic!("conditionExpression  error, conditionExpression  must  contain == , !=, >, <, >=, <=, but {} {:?}", conditionToken.get_text(), conditionToken.get_type());
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 452 | ...   return None;
[INFO] [stdout]     |       ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:460:9
[INFO] [stdout]     |
[INFO] [stdout] 459 |         panic!("conditionExpression  error, additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)");
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 460 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:496:17
[INFO] [stdout]     |
[INFO] [stdout] 495 |                 panic!("declaration var error, declaration must be let identifier");
[INFO] [stdout]     |                 -------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 496 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:505:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |                 panic!("declaration var error, declaration must be end with ;");
[INFO] [stdout]     |                 ---------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 505 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:514:21
[INFO] [stdout]     |
[INFO] [stdout] 513 |                     panic!("declaration var error, declaration must be end with ; or newline");
[INFO] [stdout]     |                     --------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 514 |                     return None;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:527:17
[INFO] [stdout]     |
[INFO] [stdout] 526 |                 panic!("declaration var error, declaration must be let identifier=expression");
[INFO] [stdout]     |                 ------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 527 |                 return None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:588:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |         panic!("assignmentStatement error, assignmentStatement must Identifier = expression; {}",position);
[INFO] [stdout]     |         --------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 588 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:601:9
[INFO] [stdout]     |
[INFO] [stdout] 600 |         panic!("assignmentStatement error, assignmentStatement must end with ; or newline but {}", &endToken.to_string());
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 601 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:623:9
[INFO] [stdout]     |
[INFO] [stdout] 622 |         panic!("expressionStatement error, expressionStatement must be end with ;");
[INFO] [stdout]     |         ---------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 623 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:630:9
[INFO] [stdout]     |
[INFO] [stdout] 629 | ...   panic!("expressionStatement error, expressionStatement must be end with ; or newline but with {} {}", endToken.to_string(), position);
[INFO] [stdout]     |       -------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 630 | ...   return None;
[INFO] [stdout]     |       ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:672:13
[INFO] [stdout]     |
[INFO] [stdout] 671 |             panic!("additiveExpression error, additiveExpression must +/- with multiplicativeExpress ;");
[INFO] [stdout]     |             --------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 672 |             return None;
[INFO] [stdout]     |             ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> consescript/src/lib/consesyntax.rs:717:9
[INFO] [stdout]     |
[INFO] [stdout] 716 |         panic!("multiplicativeExpress error, multiplicativeExpress must * or / with multiplicativeExpress ;");
[INFO] [stdout]     |         ------------------------------------------------------------------------------------------------------ any code following this expression is unreachable
[INFO] [stdout] 717 |         return None;
[INFO] [stdout]     |         ^^^^^^^^^^^^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> pbft_client/src/main.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |             stream_sender.send(stream_box);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 19 previous errors; 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0618.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> pbft_client/src/main.rs:59:5
[INFO] [stdout]     |
[INFO] [stdout] 59  | /     thread::Builder::new().name("reader_thread".to_string()).spawn(move|| {
[INFO] [stdout] 60  | |
[INFO] [stdout] 61  | |         let mut stream_vec:Vec<TcpStream> = Vec::new();
[INFO] [stdout] 62  | |         let millis_200 = Duration::from_millis(200);
[INFO] [stdout] ...   |
[INFO] [stdout] 99  | |
[INFO] [stdout] 100 | |     });
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `msgList` should have a snake case name
[INFO] [stdout]   --> pbft_client/src/main.rs:82:29
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         let msgList:Vec<&str> = reply_str.split("#end#").collect();
[INFO] [stdout]    |                             ^^^^^^^ help: convert the identifier to snake case: `msg_list`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> pbft_client/src/main.rs:92:29
[INFO] [stdout]    |
[INFO] [stdout] 92 | ...                   sender.send(reply_box);
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `msgStr` should have a snake case name
[INFO] [stdout]    --> pbft_client/src/main.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                 let mut msgStr = String::from("receiveMsg 1.0  false default_id 30 \n");
[INFO] [stdout]     |                         ^^^^^^ help: convert the identifier to snake case: `msg_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> pbft_client/src/main.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 stream.write(msgStr.as_bytes());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> pbft_client/src/main.rs:152:17
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 stream.flush();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `keyValue` should have a snake case name
[INFO] [stdout]    --> pbft_client/src/main.rs:196:17
[INFO] [stdout]     |
[INFO] [stdout] 196 |             let keyValue: Vec<&str> = item_str.split(':').collect();
[INFO] [stdout]     |                 ^^^^^^^^ help: convert the identifier to snake case: `key_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `consescript`
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "0e153718abfbc7658877aede17cf538b87e8ac97e13c93573610c03b29c6b2db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e153718abfbc7658877aede17cf538b87e8ac97e13c93573610c03b29c6b2db", kill_on_drop: false }`
[INFO] [stdout] 0e153718abfbc7658877aede17cf538b87e8ac97e13c93573610c03b29c6b2db
